﻿namespace DefeatEpidemic.Common
{
    public class Response
    {
        private string _message = "success";
        /// <summary>
        /// 返回代码. -1-失败，1-成功，0-一般为空标识，其他-具体见方法返回值说明
        /// 本系统约定正常返回码长度为4位，首位标识错误来源，第2，3位为区别路由控制器，如，00标识签名问题，01标识账户...
        /// 4开头的错误一般为客户端参数错误，如4000,4001,4100,...
        /// 5开头的错误一般为服务端错误，如5000,5001,5100...
        /// 4000标识签名错误，4010标识注册问题
        /// 5000标识服务器验签错误
        /// -1标识程序出错
        /// 1标识请求正确
        /// </summary>        
        public int code { get; set; } = 0;

        /// <summary>
        /// 返回消息
        /// </summary>
        public string message
        {
            set
            {
                _message = value;

                if (code > 0)
                    NLogUtil.fileLogger.Info(_message);
                else if (code == 0)
                    NLogUtil.fileLogger.Warn(_message);
                else
                    NLogUtil.fileLogger.Error(_message);
            }
            get
            {
                return _message;
            }
        }

        /// <summary>
        /// 总条数（记录实际返回的记录条数）
        /// </summary>
        //public int count { get; set; }

        /// <summary>
        /// 返回数据
        /// </summary>
        public dynamic data { get; set; }

        public Response()
        {
            code = 0;
        }

    }
}
